home *** CD-ROM | disk | FTP | other *** search
/ Directorty Opus 5 - Magellan 2 / Opus 5 - Magellan 2.iso / Extras / opussdk / include / dopus / images.h < prev    next >
C/C++ Source or Header  |  1996-08-29  |  2KB  |  57 lines

  1. #ifndef _DOPUS_IMAGES
  2. #define _DOPUS_IMAGES
  3.  
  4. /*****************************************************************************
  5.  
  6.  Images
  7.  
  8.  *****************************************************************************/
  9.  
  10. // RenderImage() tags
  11. #define IM_Width        TAG_USER + 0    // Width of image
  12. #define IM_Height        TAG_USER + 1    // Height of image
  13. #define IM_State        TAG_USER + 2    // 1 = selected, 0 = normal (default)
  14. #define IM_Rectangle        TAG_USER + 3    // Rectangle to center within
  15. #define IM_Mask            TAG_USER + 4    // 1 = mask image
  16. #define IM_Depth        TAG_USER + 5    // Depth of image
  17. #define IM_ClipBoundary        TAG_USER + 6    // Clip boundary size
  18. #define IM_Erase        TAG_USER + 7    // Erase background
  19. #define IM_NoDrawInvalid    TAG_USER + 8    // Don't draw if image is invalid
  20. #define IM_NoIconRemap        TAG_USER + 9    // Don't remap icons
  21.  
  22. // Images remapping
  23. typedef struct
  24. {
  25.     struct Screen    *ir_Screen;
  26.     unsigned short    *ir_PenArray;
  27.     short        ir_PenCount;
  28.     unsigned long    ir_Flags;
  29. } ImageRemap;
  30.  
  31. #define IRF_REMAP_COL0        (1<<0)        // Remap colour 0
  32. #define IRF_PRECISION_EXACT    (1<<1)        // Remap precision
  33. #define IRF_PRECISION_ICON    (1<<2)
  34. #define IRF_PRECISION_GUI    (1<<3)
  35.  
  36. // Open an image in memory (for remapping)
  37. typedef struct
  38. {
  39.     USHORT    *oi_ImageData;
  40.     ULONG    *oi_Palette;
  41.     short    oi_Width;
  42.     short    oi_Height;
  43.     short    oi_Depth;
  44. } OpenImageInfo;
  45.  
  46. void CloseImage(APTR image);
  47. APTR CopyImage(APTR image);
  48. void FreeImageRemap(ImageRemap *);
  49. void FreeRemapImage(APTR,ImageRemap *);
  50. void GetImageAttrs(APTR image,struct TagItem *tags);
  51. ULONG *GetImagePalette(APTR image);
  52. APTR OpenImage(char *name,OpenImageInfo *);
  53. BOOL RemapImage(APTR,struct Screen *,ImageRemap *);
  54. short RenderImage(struct RastPort *rp,APTR image,unsigned short left,unsigned short top,struct TagItem *tags);
  55.  
  56. #endif
  57.